Skip to content

Virtual Machines

Alt text

Introduction

  • It is important that virtual memory and virtual machines are not confused with each other – they are different concepts.
  • This section explains what virtual machines are and outlines some of the benefits and limitations.
  • Suppose you are using a PC running in a Windows 10 environment and you have downloaded some software that will only run on an Apple computer.
  • It is possible to emulate the running of the Apple software on the Windows PC (hardware) – this is known as a virtual machine.
  • The emulation will allow the Apple software to use all of the hardware on the host PC.

Alt text

  • Effectively, a virtual machine runs the existing OS (called the host operating system) and oversees the virtual hardware using a guest operating system – in our example above, the host OS is Windows 10 and the guest OS is Apple.
  • The emulation engine is referred to as a hypervisor; this handles the virtual hardware (CPU, memory, HDD and other devices) and maps them to the physical hardware on the host computer.

Alt text

Features

Guest operating system

  • This is the OS running in a virtual machine.
  • It controls the virtual hardware during the emulation.
  • This OS is being emulated within another OS (the host OS).
  • The guest OS is running under the control of the host OS software.

Host operating system

  • This is the OS that is controlling the actual physical hardware.
  • It is the normal OS for the host/physical computer.
  • The OS runs/monitors the virtual machine software.

Alt text

Benefits and limitations of virtual machines

Benefits

  • The guest OS hosted on a virtual machine can be used without impacting anything outside the virtual machine; any other virtual machines and host computer are protected by the virtual machine software.
  • It is possible to run apps which are not compatible with the host computer/OS by using a guest OS which is compatible with the app.
  • Virtual machines are useful if you have old/legacy software which is not compatible with a new computer system/hardware.
  • Virtual machines are useful for testing a new OS or new app since they will not crash the host computer if something goes wrong

Limitations

  • You do not get the same performance running as a guest OS as you do when running the original system.
  • Building an in-house virtual machine can be quite expensive for a large company. They can also be complex to manage and maintain.